tests: don't call gtk_widget_get_allocation() on NULL children
authorMichael Natterer <mitch@gimp.org>
Tue, 5 Oct 2010 11:05:56 +0000 (13:05 +0200)
committerMichael Natterer <mitch@gimp.org>
Tue, 5 Oct 2010 11:05:56 +0000 (13:05 +0200)
tests/gtkoffscreenbox.c

index a9722efd80f245e27cca869d32671446f071d73b..fe84db210950f3cb62e2611f2faeb02b8269d6dc 100644 (file)
@@ -47,9 +47,11 @@ to_child_2 (GtkOffscreenBox *offscreen_box,
   x = widget_x;
   y = widget_y;
 
-  gtk_widget_get_allocation (offscreen_box->child1, &child_area);
   if (offscreen_box->child1 && gtk_widget_get_visible (offscreen_box->child1))
-    y -= child_area.height;
+    {
+      gtk_widget_get_allocation (offscreen_box->child1, &child_area);
+      y -= child_area.height;
+    }
 
   gtk_widget_get_allocation (offscreen_box->child2, &child_area);
 
@@ -99,9 +101,11 @@ to_parent_2 (GtkOffscreenBox *offscreen_box,
   x += child_area.width / 2;
   y += child_area.height / 2;
 
-  gtk_widget_get_allocation (offscreen_box->child1, &child_area);
   if (offscreen_box->child1 && gtk_widget_get_visible (offscreen_box->child1))
-    y += child_area.height;
+    {
+      gtk_widget_get_allocation (offscreen_box->child1, &child_area);
+      y += child_area.height;
+    }
 
   *x_out = x;
   *y_out = y;
@@ -612,6 +616,7 @@ gtk_offscreen_box_draw (GtkWidget *widget,
       if (offscreen_box->child2 && gtk_widget_get_visible (offscreen_box->child2))
         {
           surface = gdk_offscreen_window_get_surface (offscreen_box->offscreen_window2);
+
           gtk_widget_get_allocation (offscreen_box->child2, &child_area);
 
           /* transform */